Data visualization applications enable a user to understand a data set visually, including distribution, trends, outliers, and other factors that are important to making business decisions. Some data sets are very large or complex, and include many data fields. Various tools can be used to help understand and analyze the data, including dashboards that have multiple data visualizations.
Data is commonly stored in a relational database and accessed by queries using a prescribed syntax (e.g., SQL). As volatile memory has become less expensive, database system may cache more data in memory to improve performance. Some database systems attempt to work almost entirely in memory, and take advantage of the high-speed access. Historically, the time to execute a query was dominated by the time required to read data from disks. As disk access time becomes an overall smaller portion of query execution time (especially for an in-memory database), the internal execution plan becomes more critical.
Although a database “server” is commonly envisioned as a remote system with high-end hardware to simultaneously provide database access to many client devices, a database server can also reside on a person's computer (e.g., laptop or desktop computer), in which case the amount of memory may be much more limited than a large dedicated server and the processing power may be much more limited as well. This further accentuates the need for intelligent construction of query execution plans.